還記得我們第四章介紹的Day_4 環境介紹-gym嗎?關於的gym.make()方法,裡面輸入env_id都是已註冊好的環境,放在anaconda3/lib/python3.6/site-packages/gym/envs/init.py裡面,但如果今天想寫自己的環境怎辦?OpenAI gym有個註冊機制,讓gym能添加進新環境,讓我們來開始吧!
首先要在anaconda的gym內新增package,至anaconda3/lib/python3.6/site-packages/gym/envs上建資料夾
cd /anaconda3/lib/python3.6/site-packages/gym/envs/
mkdir myenv
然後建立將定義的程式碼以及初始化module
touch env.py
touch __init__.py
init.py要新增段程式碼,import資料夾中檔案的classfrom gym.envs.myenv.env import MyEnv
至於env.py就是放自定義好的環境,內容可參考網路上的範本,例如這個勇者迷宮闖關
因為gym版本問題可能會觸發error,再參考訊息修改即可。接著打開anaconda3/lib/python3.6/site-packages/gym/envs/init.py,新增以下內容。
register(
id='myenv-v0',
entry_point='gym.envs.myenv:MyEnv'
)
最後再至gym的目錄路徑執行安裝,添加新環境
cd anaconda3/lib/python3.6/site-packages/gym
pip install -e .
安裝好後就可來測試囉~
import gym
env = gym.make('myenv-v0')
到這我們已把自訂環境搞定囉!接下來就可以套自己有興趣的環境來玩,除了OpenAI自定義環境,還有網路上許多自己寫好的。整個系列課程差不多到尾聲,明天筆者分享些對強化學習的觀察與發展囉,我們明天見拉~